# 练习1：
#     求100以内所有的奇数之和
def exerciseOne():
    # 获取用户输入范围
    MaxValue = int(input('请输入求奇数和的范围:'))
    TotalNum = 0
    Temp = 0
    while True:
        if Temp % 2 != 0:
            TotalNum += Temp
        Temp += 1
        if Temp >= MaxValue:
            break
    print(f"{MaxValue}范围内的奇数和为:{TotalNum}")


# 练习2：
#     求100以内所有7的倍数之和，以及个数
def exerciseTwo():
    # 获取用户输入范围
    MaxValue = int(input('请输入求奇数和的范围:'))
    TotalNum = 0
    NumCount = 0
    Temp = 0
    while True:
        if Temp % 7 == 0:
            TotalNum += Temp
            NumCount += 1
        Temp += 1
        if Temp >= MaxValue:
            break
    print(f"{MaxValue}范围内所有7的倍数之和为：{TotalNum},总个数为:{NumCount}")


# 练习3：
#     水仙花数是指一个 n 位数（n≥3 ），它的每个位上的数字的 n 次幂之和等于它本身（例如：1**3 + 5**3 + 3**3 = 153）。
#     求1000以内所有的水仙花数
def exerciseThree():
    # 获取用户输入范围
    MaxValue = int(input('请输入求水仙花数的范围:'))
    Temp = 0
    while True:
        TempCount = Temp
        TempValue = Temp
        # 计算位数
        count = 0
        while TempCount != 0:
            count += 1
            TempCount = TempCount // 10

        # 计算总数
        TotalValue = 0
        while TempValue != 0:
            num = TempValue % 10
            TempValue = TempValue // 10
            TotalValue = TotalValue + num ** count

        if TotalValue == Temp:
            print(f"该数为水仙花数:{Temp}")

        Temp += 1
        if Temp >= MaxValue:
            break


# 练习4：
#     获取用户输入的任意数，判断其是否是质数。质数是只能被1和它自身整除的数，1不是质数也不是合数。
def exerciseFour():
    # 获取用户输入
    Value = int(input('请输入数字:'))
    Temp = 2
    Result = True
    # 循环计算判断
    while Temp < Value:
        if Value % Temp == 0:
            Result = False
        Temp += 1

    if Result:
        print(f"你输入的数字:{Value},是质数!")
    else:
        print(f"你输入的数字:{Value},不是质数!")


# 练习5：
#     打印99乘法表
#     1*1=1
#     1*2=2 2*2=4
#     1*3=3 2*3=6 3*3=9
#     ...                 9*9=81
def exerciseFive():
    i = 0
    while i < 9:
        i += 1

        # 创建一个内层循环来控制图形的宽度
        j = 0
        while j < i:
            j += 1
            print(f"{j}*{i}={i * j} ", end="")
        print()


# 练习6：
#     求100以内所有的质数
def exerciseSix():
    MaxValue = int(input('请输入数字范围上限:'))
    if MaxValue < 2:
        print("输入小于2,不符合规范")

    MinValue = 2
    while MinValue <= MaxValue:
        Temp = 2
        Result = True
        # 循环计算判断
        while Temp < MinValue:
            if MinValue % Temp == 0:
                Result = False
            Temp += 1
        if Result:
            print(f"质数数字:{MinValue}")
        MinValue += 1


if __name__ == '__main__':
    exerciseSix()
